﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Xzen.Images.Provider
{
    interface IReaderWriter
    {
        Folder GetRoot();

        List<Folder> GetFolders(Folder root);
        List<File> GetFiles(Folder parent);
        Folder GetFolder(string uri);
        File GetFile(string uri, bool fillWithContent=false);
             
        
        File CreateFile(Folder parent, File file, bool overriteProperties=true);
        Folder CreateFolder(Folder parent, Folder child, bool overriteProperties = true);

        File WriteFile(File file);
        File ReadFile(File file);

        bool IsFolderExist(Folder folder);
        bool IsFileExist(File file);

        bool DeleteFile(File file);
        bool RemoveFolder(Folder folder);
    }
}
